A web content proxy server optimizes web pages obtained from remote web servers for client devices with special requirements, such as mobile phones, PDAs, and smartphones. Every time a client device requests a web page, the web content proxy server downloads the original page from a remote web server, applies some customized rules to extract relevant content, and adapts it to fit the needs of the requesting client device. By way of example, the web content proxy server may remove JavaScript, linearize content, and adapt the original page to a smaller screen layout for the requesting client device.
In computing, a cookie, such as a tracking cookie, browser cookie, and HTTP cookie, is a small piece of text stored by a web browser on the client device. A cookie includes one or more name-value pairs containing data, such as user preferences, shopping cart contents, the identifier for a server-based session, or other data used by websites.
Web content proxy servers need to save cookies to enable the client devices to interact with the original website at the remote web servers in the correct way. Accordingly, web content proxy servers store these cookies in an internal memory and associate them with the corresponding session from each client device so that when the same client device sends a request for a new page, the web content proxy server will load the matching cookies and send them to the remote web server to get the page to process. Unfortunately, storing the cookies for these client devices causes problems with scalability, security, and privacy of the web content proxy servers.